1. Field of the Invention
This invention relates to a method and system for application license identification and management in virtual environments, and more particularly to identification of licenses of affiliated applications.
2. Description of the Related Art
Virtualization in computer systems presents some challenges with regard to licensing of the applications running within virtual environments, such as containers. Each container can have its own container license key and several container applications each having their own license keys. Managing all these licenses can present some problems.
Conventional licensing schemes for proprietary applications are simple—one license is given to one copy of the application. Typically, the license is granted based on a key provided to an application consumer by a vendor. The license key can be in a form of an alpha-numeric identifier or a product serial number. Some software vendors provide a line of related software products. These vendors, typically, provide a license for several different software products (applications).
For example, Nero™ gives one group license to a set of applications. Similarly, the MICROSOFT Office™, ADOBE Creative Suite and others allow installation of a variety of their applications included into a group package. However, all of the applications have to be purchased together, as a group package. In these cases, a host holds a license data for several software products.
Conventional licensing schemes are not flexible and can be inconvenient for the hosting providers, where application installations are implemented dynamically (on-the-fly) using different scenarios. For example, some container applications have a licensing key activated only for one month. Every month, a licensing module sends a validation request to a central licensing server for checking the validity of the application manager, as well as the validity of the applications.
The licensing server checks an account balance and provides a new license to the application, if the account balance has sufficient funds in it. If the described licensing scheme were to be implemented using “one application—one license” principle, the license validation would have become a very large complex task in cases when a host server has thousands of hosting clients, each having tens of licensed applications installed in their virtual environments.
In this case, the host server would have to check licenses of each of the virtual environments (and the licenses of the application installed) manually in the container one at a time. If the described licensing scheme were to be implemented using “an application package—one license” principle, it would have been impossible to provide flexible distribution of applications on the clients considering different configurations of the applications required for the different clients. This can be partially addressed by a Master License system that provides mass licensing of the grouped applications. However, the Master License system does not work well with the virtual environments. The Master License is tied to an IP range. According to the Master License system, the keys for instances of a licensed product are generated based on the key of the original product.
Thus, an automated and simplified approach to mass licensing in virtual environments is needed. Accordingly, there is a need for a system and method for implementing a licensing system, which automatically gives licenses to second copies of the container applications using the licenses of the original applications (i.e., cloning the virtual environment applications).